Scripting – the basics, understanding, compiling
Hi and welcome to another edition of Lisac2ks' interactive tutorials! (Oh, cut the crap, will ya?!) This time we shall see what do we need to start working with the scripts. Introduction Script files used by Fallout 2 are simple files written in a scripting language similar to “C”. It may look confusing, but it's not hard to learn the basic stuff. More on that later. First, let's see what's a FO2 script consists of: * one .SSL file which represents the UNCOMPILED code (and can be found in your FO2 Mapper\scripts directory) * one .MSG file which the script uses for the dialoge (text lines, signed by numbers recognized by the script-code :* all .MSG files can be found in “Master.dat” file, unpack it using the correct DAT Explorer (there is one for Fallout and Fallout 2) and find text\english\dialog directory In order to make a script work correctly, we need to COMPILE it (*.ssl->compiling->*.int), so the game engine will understand what's written in there and to execute it faaasssst! Tools We need these things for the start: * Fallout2 Mapper (it contains UNCOMPILED scripts, in other words SSL files) * Fallout_Editor.doc (contains all commands for the scripts, coming with the FO2 mapper) * Fallout script editor (FSE) made by Jargo * Unpacked “master.dat” and “critters.dat” (you should always have it unpacked somewhere on your HDD) FSE Tool One more word on the FSE tool. It's possible to write DIALOGUES using FSE, but I guess I need to study it more. There are also two interesting add-ons, one to edit maps (MAPS.TXT file from “data\data\ directory of ”Master.dat”), other to edit cities (CITIES.TXT file from “data\data\ directory of ”Master.dat”). Very useful. One more thing: you can DECOMPILE scripts with FSE (*.int->*.ssl), but then you'll get other scripting format which is hard to understand for a beginner. We might talk about this later. Comiling/Decompiling a Script! The best way to learn something is to work with the examples. Luckily, BIS guys provided us tons of them! We'll learn using existing FO2 scripts. Do you remember your fellow tribesman called Klint? He's the first person you meet in-game. His script is relative short and easy to understand, so we'll start with THE Klint! a) Open FSE tool. You must configure the paths to some things which FSE needs, so go to “Edit->Options->Basic settings” and set it up. Header files (*.h) are usually in “your FO2 Mapper dir\scripts\HEADERS”. Compiler and pre-compiler are set to “FSE\binary” and “FSE\binary\wcc386.exe”. :b) Go to “File->Open” and load “acKlint.ssl” from “your FO2 Mapper\scripts\arroyo” directory. You should get the script SOURCE file, it's SSL file. We won't get into the script itself, let's just try to learn compiling this time. ::c) *SAVE YOUR SCRIPT BEFORE COMPILING IT!, OTHERWISE ERRORS MIGHT OCCUR!* Press F9 or go to “Script->Compile script” and see the result yourself! Now you have compiled “acKlint.ssl” script, which first became “acKlint.i” (pre-processed script) and then “acKlint.int” (compiled and for the game ready script). Hooray! :::d) If everything went nice, you'll have a new script in “your FO2 game dir\data\scripts” directory, filesize should be 10,426 bytes and there's another copy of it in “your FSE dir\binary” directory. ::::e) Now, let's do it backwards. This is the process of DECOMPILING. Go to “File->Decompile and open from *.int” and find your new “acKlint.int” file. Now we got something chaotic, right? Nevermind, we don't have to decompile our scripts anyway, because we always have the sources of our scripts (SSL files). Next tutorial should cover FSE tool advanced options and “deciphering” Klints' script. Thank you for your attention! Category:Fallout 2 tutorials - scripting